package com.common.server.entity.license.vo;

import com.common.server.entity.license.verify.LicenseCheckModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.security.auth.x500.X500Principal;
import java.util.Date;

/**
 * ClassName: LicenseContentVO
 * Package: com.license.server.entity
 * Description:
 *
 * @Author Memory
 * @Create 2024/12/26 10:36
 * @Version 1.0
 */

/**
 * 证书内容
 */
@Data
@ApiModel(value = "证书内容")
public class LicenseContentVO {
    /**
     * 证书持有者
     */
    @ApiModelProperty(value = "证书持有者", required = true)
    private X500Principal holder;
    /**
     * 证书颁发者
     */
    @ApiModelProperty(value = "证书颁发者", required = true)
    private X500Principal issuer;
    /**
     * 证书主题
     */
    @ApiModelProperty(value = "证书主题", required = true)
    private String subject;
    /**
     * 颁发日期
     */
    @ApiModelProperty(value = "颁发日期", required = true)
    private Date issued;
    /**
     * 有效期开始
     */
    @ApiModelProperty(value = "有效期开始", required = true)
    private Date notBefore;
    /**
     * 有效期结束
     */
    @ApiModelProperty(value = "有效期结束", required = true)
    private Date notAfter;
    /**
     * 消费者类型
     */
    @ApiModelProperty(value = "消费者类型", required = true)
    private String consumerType;
    /**
     * 消费者数量
     */
    @ApiModelProperty(value = "消费者数量", required = true)
    private int consumerAmount;
    /**
     * 附加信息(证书描述)
     */
    @ApiModelProperty(value = "附加信息(证书描述)", required = true)
    private String info;
    /**
     * 额外数据(客户端硬件信息)
     */
    @ApiModelProperty(value = "额外数据(客户端硬件信息)", required = true)
    private LicenseCheckModel extra;
}
